package zhongbo.java.air.monitor.service;

import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.monitor.model.FlightActivityDaily;

import java.util.List;

/**
 * 说明：
 *
 * @author 钟波dellNotebook
 * @since 2025年04月08日 星期二 04:05:30
 */
public interface IFlightActivityDailyService {

    /**
     * 查询当天分组统计结果
     *
     * @param date 某一天的日期 2025-04-08
     * @return 当天分组统计结果
     */
    List<FlightActivityDaily> selectDailyStats(String date);

    /**
     * 从数据库查询当天分组统计结果
     *
     * @param date 某一天的日期 2025-04-08
     * @return 当天分组统计结果
     */
    List<FlightActivityDaily> getDailyStats(String date);

    /**
     * 增加
     *
     * @param activityDaily 实体
     * @return 添加
     */
    FlightActivityDaily add(FlightActivityDaily activityDaily);

    /**
     * 删除
     *
     * @param id 统计id
     * @return 结果
     */
    String delete(String id);

    /**
     * 修改
     *
     * @param activityDaily1 实体
     * @return 结果
     */
    FlightActivityDaily edit(FlightActivityDaily activityDaily1);

    /**
     * 查询
     *
     * @param id 统计id
     * @return 结果
     */
    FlightActivityDaily findOne(String id);

    /**
     * 分页查询列表
     * 如果传入了airline，使用airline进行模糊查询
     * <p>
     * //     * @param icaoCode    ICAO码
     *
     * @param pageNumber  分页页码
     * @param pageSize    分页大小
     * @param oderByField 按某个字段排序
     * @param oderByAsc   是否正序排序（默认倒序）
     * @return PageVo<FlightActivityDaily>
     */
    PageVo<FlightActivityDaily> findPage(String keyword, String fields, String icao, String startDate, String endDate, Integer pageNumber, Integer pageSize, String oderByField, Boolean oderByAsc);
}
